package com.b1.taskmanager.api;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.ListIterator;
/**
 * Класс описывающий сущность - задачи:
 *	Поля:
 *              id - Уникальный индификатор задачи (ro)
 *              beginDate - время начала задачи, определяет время извещения (rw)
 *              title - заголовок задачи (rw)
 *		description - описание задачи (rw)
 *              type - тип задачи (rw)
 *              contactList - список контактов для задачи или встречи (rw)
 */

public class Task 
{
    private int id;                     //Уникальный индификатор(ro)
    private Date beginDate;             // время начала 
    private Date endDate;
    private String title;               // заголовок 
    private String description;         // описание
    private String type;              // тип
    private String place;
    private List<Contact> contactList;  // спсиок контактов
    
    // отладочные метод который возвращает beginDate, title, type
    public String showField() 
    {
        return beginDate + "\t" + title + "\t" + type;
    }
    public int getId() 
    {
        return id;
    }
    /**
     * Конструктор класса
     * @param id 
     */
    public Task(int id) 
    {
        contactList = new ArrayList<Contact>();
        this.id = id;
    }
    /**
     * Конструктор класса
     * @param beginDate
     * @param title 
     */
    public Task(int id, Date beginDate, String title) 
    {
        this(id);
        this.beginDate = beginDate;
        this.title = title;
    }
    
    public Date getBeginDate() 
    {
        return beginDate;
    }
    public void setBeginDate(Date beginDate) 
    {
        this.beginDate = beginDate;
    }
    
    public Date getEndDate() 
    {
        return endDate;
    }

    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public List<Contact> getContactList() 
    {
        return contactList;
    }
    public String getContactIdToString()
    {
        StringBuffer str = new StringBuffer();
        for (ListIterator<Contact> i = contactList.listIterator(); i.hasNext();) {
            Contact ct = i.next();
            str.append(String.valueOf(ct.getId()));
        }
        return str.toString();
    }
    public void setContactList(List<Contact> contactList) 
    {
        this.contactList = contactList;
    }
    public void addContactToList(Contact contact)
    {
        contactList.add(contact);
    }
    
    public String getDescription() 
    {
        return description;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getType() 
    {
        return type;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getPlace() {
        return place;
    }

    public void setPlace(String place) {
        this.place = place;
    }
    
    
}
